package HomeWork.Chapter03;

/**
 * Enjoy programming!!!
 * Time: 2021/11/3 -  20:25
 */
public class Factorial0 {
    public static void main(String[] args) {
        long sum = 0;
        long h = 1;
//      法1：  for (int i = 1; i <= 20; i++) {
//            for (int j = 1; j <= i; j++){
//
//                h *= j;
//            }
//            sum += h;
//            h = 1;//用完记得归一
//        }
//     法2：   for (int i = 1; i <= 20; i++){
//            h *= i;
//            sum += h;
//        }
//        System.out.println(sum);
//    }
//}法3：
        for (int i = 1; i <= 20; i++) {
            sum += Tool.F(i);
        }
        System.out.println(sum);
    }
}

//法3：递归
class Tool {
    public static long F(int n) {
        if (1 == n) {
            return n;
        } else {
            return F(n - 1) * n;
        }
    }
}

